import UIKit

@available(iOS 2.0, *)
extension QKC where AA :UIEvent {
    @available(iOS 3.0, *)
    open func type_qk_g() -> QKC<AA,YY,ZZ, UIEvent.EventType >{
		 self +^ self.value.type
	}

    @available(iOS 3.0, *)
    open func subtype_qk_g() -> QKC<AA,YY,ZZ, UIEvent.EventSubtype >{
		 self +^ self.value.subtype
	}

    open func timestamp_qk_g() -> QKC<AA,YY,ZZ, TimeInterval >{
		 self +^ self.value.timestamp
	}

    @available(iOS 13.4, *)
    open func modifierFlags_qk_g() -> QKC<AA,YY,ZZ, UIKeyModifierFlags >{
		 self +^ self.value.modifierFlags
	}

    @available(iOS 13.4, *)
    open func buttonMask_qk_g() -> QKC<AA,YY,ZZ, UIEvent.ButtonMask >{
		 self +^ self.value.buttonMask
	}

    open func allTouches_qk_g() -> QKC<AA,YY,ZZ, Set<UITouch>? >{
		 self +^ self.value.allTouches
	}

    open func touches_qk_f(for window: UIWindow) -> QKC<AA,YY,ZZ,Set<UITouch>?>{
		 self +^ self.value.touches(for:window)
	}

    open func touches_qk_f(for view: UIView) -> QKC<AA,YY,ZZ,Set<UITouch>?>{
		 self +^ self.value.touches(for:view)
	}

    @available(iOS 3.2, *)
    open func touches_qk_f(for gesture: UIGestureRecognizer) -> QKC<AA,YY,ZZ,Set<UITouch>?>{
		 self +^ self.value.touches(for:gesture)
	}

	// An array of auxiliary UITouch’s for the touch events that did not get delivered for a given main touch. This also includes an auxiliary version of the main touch itself.
    @available(iOS 9.0, *)
    open func coalescedTouches_qk_f(for touch: UITouch) -> QKC<AA,YY,ZZ,[UITouch]?>{
		 self +^ self.value.coalescedTouches(for:touch)
	}

	// An array of auxiliary UITouch’s for touch events that are predicted to occur for a given main touch. These predictions may not exactly match the real behavior of the touch as it moves, so they should be interpreted as an estimate.
    @available(iOS 9.0, *)
    open func predictedTouches_qk_f(for touch: UITouch) -> QKC<AA,YY,ZZ,[UITouch]?>{
		 self +^ self.value.predictedTouches(for:touch)
	}

}

